package com.zjw.algorithm;

import com.zjw.algorithm.utils.MathUtils;

/**
 * 一个七位数，不是三就是二，可以被3和4整除，那么这个数是什么数？
 */
public class Solution9_2 {


    public static void main(String[] args) {
        doIt(new int[]{0, 0, 0, 0, 0, 0, 0}, 0);
    }

    private static void doIt(int[] numbers, int index) {
        if (index >= numbers.length) {
            //this is ended
            int sum = 0;
            for (int i = 0; i < numbers.length; i++) {
                sum += numbers[i] * MathUtils.pow(10L, numbers.length - i - 1);
            }

            if (sum % 3 == 0 && sum % 4 == 0) {
                System.out.println(sum);
            }
            return;
        }

        numbers[index] = 2;
        doIt(numbers, index + 1);
        numbers[index] = 3;
        doIt(numbers, index + 1);
    }

}
